﻿using System;
using System.Collections.Generic;

namespace MediaAutomatorLib.Configurations
{
    public class Configuration : IRecognizerConfiguration, IDirectoriesConfiguration
    {
        /// <summary>
        /// Folder where downloads are saved
        /// </summary>
        private String _downloads;
        public String Downloads
        {
            get { return _downloads; }
            set
            {
                _downloads = value;
                if (!_downloads.EndsWith("\\"))
                    _downloads = String.Format("{0}\\", _downloads);
            }
        }

        private String _temporary;
        public String Temporary
        {
            get { return _temporary; }
            set
            {
                _temporary = value;
                if (!_temporary.EndsWith("\\"))
                    _temporary = String.Format("{0}\\", _temporary);
            }
        }

        /// <summary>
        /// Target movie directory
        /// </summary>
        private String _moviesLibrary;
        public String MoviesLibrary
        {
            get { return _moviesLibrary; }
            set
            {
                _moviesLibrary = value;
                if (!_moviesLibrary.EndsWith("\\"))
                    _moviesLibrary = String.Format("{0}\\", _moviesLibrary);
            }
        }

        /// <summary>
        /// Tv shows directory
        /// </summary>
        private String _tvShowsLibrary;
        public String TvShowsLibrary
        {
            get { return _tvShowsLibrary; }
            set
            {
                _tvShowsLibrary = value;
                if (!_tvShowsLibrary.EndsWith("\\"))
                    _tvShowsLibrary = String.Format("{0}\\", _tvShowsLibrary);
            }
        }

        /// <summary>
        /// Tv shows directory
        /// </summary>
        private String _logsFolderPath;
        public String LogsFolderPath
        {
            get { return _logsFolderPath; }
            set
            {
                _logsFolderPath = value;
                if (!_logsFolderPath.EndsWith("\\"))
                    _logsFolderPath = String.Format("{0}\\", _logsFolderPath);
            }
        }

        /// <summary>
        /// The renamer exe path
        /// </summary>
        public String TheRenamerPath { get; set; }

        public String XbmcHostname { get; set; }
        public int XbmcPort { get; set; }
        public String XbmcUsername { get; set; }
        public String XbmcPassword { get; set; }

        public String UTorrentHostname { get; set; }
        public int UTorrentPort { get; set; }
        public String UTorrentUsername { get; set; }
        public String UTorrentPassword { get; set; }

        public List<string> MoviesRecognizers { get; set; }
        public List<string> TvShowsRecognizers { get; set; }
        public List<string> MoviesIgnorers { get; set; }
        public List<string> TvShowsIgnorers { get; set; }

    }
}
